#include <REGX52.H>
#include "Onewire.h"


#define DS18B20_SKIP_ROM 0xcc
#define DS18B20_CONVERT 0x44
#define  DS18B20_READ_SCRATCHPAD 0xbe


void DS18B20_ConverT(void)//温度转换函数
{
	Onewire_Init();//初始化
	Onewire_SendByte(DS18B20_SKIP_ROM);//发送一个字节函数,跳过ROM
	Onewire_SendByte(DS18B20_CONVERT);
}

float DS18B20_ReadT(void)//温度读取函数
{
	int temp;
	unsigned char TLSB,TMSB;
	float t;
	Onewire_Init();
	Onewire_SendByte(DS18B20_SKIP_ROM);
	Onewire_SendByte(DS18B20_READ_SCRATCHPAD);//读暂存器指令
	TLSB=Onewire_ReceiveByte();//接收函数,温度字节的函数
	TMSB=Onewire_ReceiveByte();
	temp=(TMSB<<8)|TLSB;
	t=temp/16.0;
	return t;
	
}
	